package lbj.cyw.dp;
/*
* 动归最简单的一道题
* 斐波那契数列
* */
public class Offer10fib1 {
    public int fib(int n) {
        if(n==0 || n==1){
            return n;
        }
//        int[] dp=new int[n+1];
//        dp[0]=0;
//        dp[1]=1;
//        for(int i=2;i<=n;i++){
//            dp[i]=dp[i-1]+dp[i-2];
//            dp[i]%=1000000007;
//        }
//        return dp[n];
        //优化
        int a=0;
        int b=1;
        int c=0;
        for(int i=2;i<=n;i++){
            c=a+b;
            a=b;
            c%=1000000007;
            b=c;
        }
        return c;
    }
}
